Computers perform specific tasks by following a set of instructions commonly known as “software”. A piece of software can be distributed to end-users by storing the software on removable storage media such as floppy diskettes or compact disks, and making the storage media available to the users. Typically, the storage medium includes the software to be installed and an installer. The installer is a specialized piece of software designed to assist users in the installation process. A user starts the installation process by inserting the storage medium in a storage medium reader (e.g., floppy drive, CD-ROM drive, etc.) of a computer, and then invoking the installer. In some operating systems, the installer is automatically invoked as soon as the storage medium is inserted in the reader. The installer asks the user a series of questions regarding her preferences as to file storage locations, the amount of files to install, default settings, etc. Thereafter, the installer proceeds to copy the software from the storage medium to the computer's mass storage device (e.g., hard disk drive), and performs any necessary configuration changes in accordance with the user's preferences.
Software can also be distributed by making the software available for download over a network. In that case, the software is stored on a server coupled to the network. A user who wishes to obtain the software couples a computer onto the network, and downloads the software from the server to the computer. The convenience of being able to obtain software at any time and the widespread availability of public networks such as the Internet contribute to the popularity of downloadable software.
Downloading software over a network is not without problems. On the Internet, for example, a software vendor has to somehow alert potential users that a particular piece of software is available for download. Considering the cost of advertising and the number of competing software products available on the Internet, an effective technique for informing potential users of the existence of the downloadable software, and convincing them to download the software, may be desirable. In addition, it may be desirable to track sources of downloads to determine relative effectiveness of different advertising channels.
For example, a registration form may be generated when the software is downloaded and/or installed on the user's computer, and the registration form may request information from the user. More particularly, the registration form may request entry of a referring source (e.g., an advertisement or other source) through which the user became aware of the software, and the information provided through the registration form may be returned to the server that provided the download. The use of registration forms and/or other prompts for user entry of information, however, relies on accurate user entry of the requested information. Many users, however, do not take time to complete registration forms and/or do not complete registration forms accurately.
Software downloads over a computer network are discussed, for example, in U.S. Patent Publication No. 2004/0083474 to McKinlay et al.; in U.S. Patent Publication No. 2003/0145316 to McKinlay et al.; and in U.S. Patent Publication No. 2003/0227477 to Kadiwala. The disclosures of each of the above referenced patent publications are hereby incorporated herein in their entireties by reference.